package com.shujia.scala

object Demo12Apply {
  def main(args: Array[String]): Unit = {
    Test.print()

    Test.apply()

    //调用对象的apply方法
    Test()

    //不通过new创建对象
    val test: Test = Test()


  }
}

/**
  * object： 是一个特殊的类（类和对象绑定了，只一个一个对象）
  * object中的方法可以直接调用，不需要创建对象
  *
  */
object Test {
  def print(): Unit = {
    println("test")
  }

  /**
    * apply:是scala中一个特征的方法，可以直接使用object名调用
    *
    */
  /*  def apply(): Unit = {
      println("apply")
    }*/

  def apply(): Test = new Test()
}

class Test {

}
